OpenClassrooms

PROJET DATA SCIENCE


Segmenter des clients d'un site e-commerce

Notebook n°2 - Clustering


Ambre ROBERT


Olist est une entreprise brésilienne offrant une solution pour vendre sur les marketplaces en ligne. Afin de mettre au point des campagnes de communication pertinentes, Olist souhaite comprendre les différents types d’utilisateurs de son site.

Dans ce contexte, le projet suivant s'intéresse au comportement et aux données personnelles de ces utilisateurs. L'objectif est de fournir une segmentation des clients d’Olist destinée à l’équipe Marketing afin d’améliorer la communication de l’entreprise.

Ce notebook contientient toute la partie segmentation des utilisateurs.

Librairies

Style des graphiques

1. Table des matières

2. RFM

La méthode RFM est une méthode de segmentation qui prend en compte la Récence (date de la dernière commande), la Fréquence des commandes et le Montant (de la dernière commande ou sur une période donnée) pour établir des segments de clients homogènes.

2.1 Traitement des données

Afin de créer le score RFM, nous devons connaitre la "Recency", la "Frequency" et la "Monetary" de chaque client. Ils sont définis comme suit :

Transformation

Standardisation

2.2 Segmentation RFM

Calculs des scores

Afin d'obtenir les scores RFM individuels nous allons utiliser la méthode statistique en utilisant les quantiles.

Le classement des scores RFM individuels est effectué en divisant chacune des valeurs RFM en quantiles, ce qui crée cinq tranches plus ou moins égales. Nous classons ensuite chaque compartiment de un à cinq ; cinq étant le meilleur.

Par exemple, une "Recency" (R) de 1 (le score le plus bas) représente les clients inactifs depuis un certain temps. Une "Frequency" de de 5 (le score le plus élevé) correspond aux acheteurs les plus fréquents, etc.

Calculer le score RFM global

Cela peut se faire de deux manières :

Ici, nous concaténons les scores RFM individuel comme des chaînes et obtenons des segments étiquetés en retour. Notre meilleur segment sera de 555 et notre pire sera de 111 (ce qui signifie le score le plus bas dans les trois catégories RFM).

Ici, nous additionnons les scores RFM individuels comme des nombres et obtenons en retour un nombre indiquant le score du client. Le score variera de 3 à 15.

Nous pouvons alors créer des segments de clientèle exploitables et faciles à comprendre, comme ceux ci-dessous :

Segment clientèle Interprétation
Champion Les meilleurs clients, ils achètent et dépensent beaucoup et ont effectué leur dernier achat récemment.
Loyal customers Clients récents et fréquents.
Potential loyalists Des clients récents, mais qui ont déjà beaucoup dépensé.
Recent customers Clients récents, qui n’ont effectué que quelques achats.
Promising Clients qui achètent fréquemment et dépensent beaucoup, mais qui ont effectué leur dernier achat il y a quelque temps.
Need attention Clients récents avec des dépenses supérieures à la moyenne, mais une faible fréquence.
At risk Clients qui achètent fréquemment, mais qui n’ont effectué aucun achat depuis longtemps.
Can't lose them Des clients qui ont beaucoup acheté, mais qui sont inactifs depuis longtemps.
Hibernating Clients peu fréquents et peu dépensiers qui n’ont pas acheté depuis longtemps.
Lost Ils n'ont pas acheté depuis longtemps, ils n'ont acheté qu'une fois (ou très peu de fois) et ils ont très peu dépensé.

2.3 k-means

Nous allons maintenant appliquer un algorithme de clustering : k-means.

D'après ces graphiques nous pouvons prendre un nombre de clusters k=3 ou k=4.

2.3.1 k-means avec k=4

Cluster Type de clients % Label RFM Interprétation Actions à mener
0 Clients à risque 38% 46% Promising; 32% At Risk; 21% Hibernating Clients qui ont effectué leur dernière transaction il y a longtemps et qui ont effectué peu d'achats. Il pourrait donc s'agir du groupe des clients à risques/perdus. envoyer des e-mails personnalisés pour renouer ; proposer d'autres produits pertinents et des remises spéciales ; relancer l'intérêt avec une campagne de sensibilisation
1 Nouveaux clients 34% 52% Potential loyalist; 44% Recent Customers Clients ayant effectué des transactions récemment et ayant une fréquence d'achat plus faible, avec un faible montant de dépenses. Selon la segmentation RFM, la moitié d'entre eux sont des potentiels clients fidèles. leur donner un succès rapide ; commencer à construire une relation
2 Clients Loyaux 3% 35% Champions; 32% Promising; 30% Loyal customers Les clients les plus fréquents ayant le montant dépensé le plus élevé et ayant effectué une commande récemment. demander des avis ; les récompenser
3 Clients prometteurs 25% 76% Promising; 24% Potential loyalist Clients qui achètent fréquemment et dépensent beaucoup, mais qui ont effectué leur dernier achat il y a quelque temps. faire des offres à durée limitée ; offrir des échantillons de produits gratuits

2.3.2 k-means avec k=3

Cluster Type de clients % Label RFM Interprétation RFM Actions à mener
0 Nouveaux clients 45% 53% potential loyalist, 34% recent customers Clients avec les commandes les plus récentes mais qui n'ont pas commandé ni dépensé beaucoup. faire des offres à durée limitée ; offrir des échantillons de produits gratuits
1 Bons clients 3% 35% champions, 32% promising, 30% loyal customers Clients qui ont le plus dépensé et qui commandent fréquement. demander des avis ; les récompenser
2 Clients ayant besoin d'attention 52% 62% promising, 22% at risk, 15% hibernating Clients qui n'ont pas commandé depuis un moment et qui n'ont pas dépensé beaucoup d'argent. envoyer des e-mails personnalisés pour renouer ; proposer d'autres produits pertinents et des remises spéciales ; relancer l'intérêt avec une campagne de sensibilisation

Conclusion k-means

Pour les deux cas étudiés (k-means avec k=4 et k-means avec k=3), on observe un score silhouette équivalent. D'un point de vue métier, il serait probablement préférable de choisir le modèle k-means avec k=4, car un cluster supplémentaire permettrait une précision accrue dans la catégorisation des clients, tout en offrant une meilleure compréhension de leurs comportements.

3. Ajout de variables

Nous allons, dans la suite, inclure des variables créées dans le notebook précédent.

3.1 Traitement des données

3.2 k-means

3.2.1 Parcourir les modèles

Le code suivant permet de parcourir les modèles possibles en ajoutant au moins une variable à nos variables RFM précédentes.

Les résultats vont nous permettre de sélectionner plusieurs modèles que nous allons étudier plus en détail dans la suite.

3.2.2 1er modèle

k-means avec 4 variables et k = 3

Le score silhouette est bon mais d'un point de vue métier le nombre de cluster semble trop faible pour permettre une segmentation assez précise des utilisateurs.

3.2.3 2ème modèle

k-means avec 4 variables et k = 5

Le score silhouette est bon cependant, d'un point de vue métier, l'absence de variable relative au temps depuis la dernière commande ne permettra pas d'identifier les nouveaux clients, les clients absents, etc..

3.2.4 3ème modèle

k-means avec 7 variables et k = 4

Cluster Type de clients % Interprétation Actions à mener
0 Clients à ne pas perdre 87% Clients qui ont peu commandé et dépensé peu d'argent mais qui ont été très satisfaits de leur commandes faire des offres à durée limitée ; offrir des échantillons de produits gratuits ; relancer l'intérêt avec une campagne de sensibilisation
1 Clients prometteurs 3% Clients qui ont beaucoup dépensé mais qui n'ont pas passé un grand nombre de commande faire des offres à durée limitée ; offrir des échantillons de produits gratuits
2 Clients loyaux 3% Clients qui ont commandé récemment, qui ont ont dépensé le plus et qui sont revenu plusieurs fois demander des avis ; les récompenser
3 Clients à risque/perdus 7% Clients qui n'ont pas beaucoup passé de commandes et qui ne sont pas satisfait de leur expérience (note faible, retard dans la livraison) envoyer des e-mails personnalisés pour renouer ; proposer d'autres produits pertinents et des remises spéciales ; relancer l'intérêt avec une campagne de sensibilisation ; faire des offres à durée limitée

3.2.5 4ème modèle

k-means avec 5 variables et k = 4

Cluster Type de clients % Interprétation Actions à mener
0 Clients à ne pas perdre 87% Clients qui ont peu commandé et dépensé peu d'argent faire des offres à durée limitée; proposer d'autres produits pertinents et des remises spéciales ; relancer l'intérêt avec une campagne de sensibilisation
1 Clients à risque 7% Clients qui ont commandé une seule fois, qui ont donc peu dépensé et dont la commande a été livré en retard ce qui peut tendre vers une mauvaise expérience de leur part. envoyer des e-mails personnalisés pour renouer ; offrir des échantillons de produits gratuits ; proposer d'autres produits pertinents et des remises spéciales ; relancer l'intérêt avec une campagne de sensibilisation ; faire des offres à durée limitée
2 Clients loyaux 3% Clients qui ont commandé récemment, qui ont ont dépensé le plus et qui sont revenu plusieurs fois demander des avis ; les récompenser
3 Clients prometteurs 3% Clients qui ont beaucoup dépensé (grosse commande) mais qui n'ont pas passé un grand nombre de commande faire des offres à durée limitée ; offrir des échantillons de produits gratuits, relancer l'intérêt avec une campagne de sensibilisation

Conclusion k-means

Modèle Nombre de clusters Score Silhouette Notes
1 3 0.6873 Bon score silhouette. D'un point de vu métier le nombre de clusters est peut être trop faible et ne permet pas une segmentation assez précise de la clientèle.
2 5 0.5664 Assez bon score silhouette. D'un point de vue métier, l'interprétation des clusters est à améliorer car l'absence de variable relative au temps ne permet pas d'identifier les nouveaux clients, les clients absents, etc.
3 4 0.5301 Assez bon score silhouette. D'un point de vue métier nous avons 4 clusters qui sont facilement interprétables.
4 4 0.6060 Bon score silhouette. D'un point de vue métier nous avons 4 clusters qui sont assez facilement interprétables.

Finalement les modèles n°3 et 4 sont les plus pertinents. Nous retiendrons le dernier pour la suite à cause de son meilleur score silhouette.

3.3 DBSCAN

Nous allons tester un autre algorithme de clustering puis comparer les résultats avec le modèle k-means retenu ci-dessus.

DBSCAN retourne un score silhouette plus faible que le modèle k-means sélectionné. De plus 12 clusters ont été créé avec ce modèle DBSCAN.

4. Conclusion

Après avoir effectuer une segmentation RFM sur nos données nous avons testé plusieurs modèles de clustering incluant davantage de variables. Finalement, le modèle retenu est k-means avec k=4 qui prend en compte les varaibles relatives au nombre de commandes, au prix total dépensé, au temps depuis la dernière commande, au nombre moyen de produit dans les commandes et au fait qu'il y ait eu du retard ou non pour la livraison.

Dans le notebook suivannt nous effectuerons une simulation d'évolution de la stabilité du clustering sur différentes périodes.